<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />
<title>femdoc</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

<style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
  overflow: visible;
  padding: 8px;
}
div#notebook {
  overflow: visible;
  border-top: none;
}@media print {
  div.cell {
    display: block;
    page-break-inside: avoid;
  } 
  div.output_wrapper { 
    display: block;
    page-break-inside: avoid; 
  }
  div.output { 
    display: block;
    page-break-inside: avoid; 
  }
}
</style>

<!-- Custom stylesheet, it must be in the parent directory as the html file -->
<link rel="stylesheet" type="text/css" media="all" href="../doc.css" />
<link rel="stylesheet" type="text/css" media="all" href="doc.css" />

<!-- Loading mathjax macro -->
<!-- Load mathjax -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script>
    <!-- MathJax configuration -->
    <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [ ['$','$'], ["\\(","\\)"] ],
            displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
            processEscapes: true,
            processEnvironments: true
        },
        // Center justify equations in code and markdown cells. Elsewhere
        // we use CSS to left justify single line equations in code cells.
        displayAlign: 'center',
        "HTML-CSS": {
            styles: {'.MathJax_Display': {"margin": 0}},
            linebreaks: { automatic: true }
        }
    });
    </script>
    <!-- End of mathjax configuration --></head>
<body>
  <div tabindex="-1" id="notebook" class="border-box-sizing">
    <div class="container" id="notebook-container">

<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="Finite-Element-Methods">Finite Element Methods<a class="anchor-link" href="#Finite-Element-Methods">&#182;</a></h1><p>We use the linear finite element method for solving the Poisson equation as an example to explain the main ingredients of finite element methods. We recommend to read</p>
<ul>
<li><a href="http://www.math.uci.edu/~chenlong/226/Ch2FEM.pdf">Introduction to Finite Element Methods</a></li>
<li><a href="http://www.math.uci.edu/~chenlong/226/Ch3FEMCode.pdf">Progamming of Finite Element Methods</a></li>
</ul>
<p>and do the following project</p>
<ul>
<li><a href="../project/projectFEM.html">Projects: Linear Finite Element Methods</a></li>
</ul>
<p>The numerical example using the linear element is in</p>
<ul>
<li><a href="Poissonfemrate.html">Linear Element for Poisson Equation in 2D</a></li>
</ul>
<p>and more elements and equations can be found</p>
<ul>
<li><a href="femexamplelist.html">List of Examples</a></li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Variational-formulation">Variational formulation<a class="anchor-link" href="#Variational-formulation">&#182;</a></h2><p>The classic formulation of the Poisson equation reads as</p>
$$ - \Delta u = f  \text{ in }  \Omega, \qquad u  = g_D  \text{ on }
\Gamma _D,  \qquad  \nabla u\cdot n = g_N  \text{ on } \Gamma _N, $$<p>where $\partial \Omega = \Gamma _D\cup \Gamma _N$ and $\Gamma _D\cap \Gamma _N=\emptyset$. 
We assume $\Gamma _D$ is closed and $\Gamma _N$ open.</p>
<p>Denoted by $H_{g_D}^1(\Omega)=\{v\in L^2(\Omega), \nabla v\in L^2(\Omega) \text{ and } v|_{\Gamma _D} = g_D\}$. Multiplying the Poisson equation by a test function $v\in H_{0_D}^1$ and using integration by parts, we obtain the weak formulation of the Poisson equation: find $u\in H_{g_D}^1(\Omega)$ such that for all $v\in H_{0_D}^1$:</p>
$$ 
a(u,v) := \int _{\Omega} \nabla u\cdot \nabla v\, {\rm dxdy} = \int _{\Omega} fv \, {\rm dxdy} + \int _{\Gamma _N} g_N v \,{\rm d}S.
$$<p>Let $\mathcal T$ be a triangulation of $\Omega$. We define the linear
finite element space on $\mathcal T$ as</p>
$$
\mathcal V_{\mathcal T} = \{v\in C(\bar \Omega) : v|_{\tau}\in \mathcal P_k, \forall \tau \in \mathcal T\}. 
$$<p>where $\mathcal P_k$ is the polynomial space with degree $\leq k$.</p>
<p>The finite element method for solving the Poisson
equation is to find $u\in \mathcal V_{\mathcal T}\cap H_{g_D}^1(\Omega)$ 
such that for all $v\in \mathcal V_{\mathcal T}\cap H_{0_D}^1(\Omega)$:</p>
$$
a(u,v) = \int _{\Omega} fv \, {\rm dxdy} + \int _{\Gamma _N} g_N v \,{\rm d}S.
$$
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Finite-element-space">Finite element space<a class="anchor-link" href="#Finite-element-space">&#182;</a></h2><p>We take linear finite element spaces as an example. For each vertex $v_i$ of $\mathcal T$, let $\phi _i$ be the piecewise linear function such that $\phi _i(v_i)=1$ and $\phi _i(v_j)=0$ when $j\neq i$. The basis function in 1-D and 2-D is illustrated below. It is also called hat function named after the shape of its graph.</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[5]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-matlab"><pre><span></span><span class="n">x</span> <span class="p">=</span> <span class="mi">0</span><span class="p">:</span><span class="mi">1</span><span class="o">/</span><span class="mi">5</span><span class="p">:</span><span class="mi">1</span><span class="p">;</span>
<span class="n">u</span> <span class="p">=</span> <span class="nb">zeros</span><span class="p">(</span><span class="nb">length</span><span class="p">(</span><span class="n">x</span><span class="p">),</span><span class="mi">1</span><span class="p">);</span>
<span class="n">u</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="p">=</span> <span class="mi">1</span><span class="p">;</span>
<span class="n">figure</span><span class="p">;</span>
<span class="n">subplot</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">1</span><span class="p">);</span> <span class="n">hold</span> <span class="n">on</span><span class="p">;</span> 
<span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s">&#39;k.&#39;</span><span class="p">,</span><span class="s">&#39;MarkerSize&#39;</span><span class="p">,</span><span class="mi">18</span><span class="p">);</span> 
<span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">u</span><span class="p">,</span><span class="s">&#39;-&#39;</span><span class="p">,</span><span class="s">&#39;linewidth&#39;</span><span class="p">,</span><span class="mf">1.2</span><span class="p">);</span>
<span class="n">subplot</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">);</span> <span class="n">hold</span> <span class="n">on</span><span class="p">;</span>
<span class="n">u</span> <span class="p">=</span> <span class="nb">sin</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="nb">pi</span><span class="o">*</span><span class="n">x</span><span class="p">);</span>
<span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">u</span><span class="p">,</span><span class="s">&#39;-o&#39;</span><span class="p">,</span><span class="s">&#39;linewidth&#39;</span><span class="p">,</span><span class="mf">1.2</span><span class="p">,</span><span class="s">&#39;MarkerSize&#39;</span><span class="p">,</span><span class="mi">10</span><span class="p">);</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
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
vvnm//3f/6U/8ng8YZ+hUn+4RO6Klu7TMxgtJkm9K1rmv2BLS0vYX7C2tla6t5O/w0wJAhJoii4Y
DEZ9JmXcvn37fvnLX06bNu3cuXPPPffcihUrQn8qZqouW7ZMnrRKORNj6dsRQuT/C957773y5OGK
f8Gqqiqp347I3mESt337dkEQ/vVf/1XphgDIQa0BiRASDAYHBweNRqNer8qVMAAACKXigAQAADxR
ZWIsAADwh8+AFAgEenp6hoaGlG6IwmL8Hv72t7+dC4GB8rfffitmArEPPVyETp449js5h6svTU1N
r776an5+fm9vr9PpfOmll5RukTJi/x5qamree+89g2HieI7f//73OTk5SjSTFW+//bbf71fF9gH0
cBE6+ZSooJMrucVPAjHqrmpK3N/Dz372s08++USh1rElkTKm7EAPF6GTJ04tnZy3KbvJ6q5qTdzf
w9GjR7///e/39vaG1rzQJnWVMUUPF6GTJ04tnZy3KbvJ6q5qTezfwzfffHP27NmKiorh4eEzZ878
wz/8w/PPP69EM5mgrjKm6OEidPLEqaWT8xaQJqu7qjWxfw9nz5598MEH165de+2113Z3d//kJz8p
Li4uLS1VoqUwNejhInRy/vA2ZTdZ3VWtif17uOGGG958881rr72WEHLzzTeXl5e3t7cr0EqYOvRw
ETo5f3gLSHPnzg0dk3o8nuuuu0655igm9u+ho6OjublZ/PLixYsXLlyQs3mQNPRwETo5f3gLSFar
dXR0tLGxkRDS3d3d1tY22fkCfJvs99DQ0NDV1RUIBKqrq3t7ewkhX3755b59++677z6FWwyJQQ8X
oZNzSOltfum3d+/ekpKSRYsW3XLLLe+8847SzVFM1N9DSUnJW2+9FQwGa2pqFi5ceP/99y9atIjW
Tdc4FdXVRg8XoZNPCfudnM9adkHUXSWExPs9jI+P+3w+jacKqhR6uAidnCd8BiQAAFAd3taQAABA
pRCQAACACQhIAADABAQkAABgAgISAAAwAQEJAACYgIAEAABMQEACAAAmICABAAATEJAAAIAJCEgA
AMAEBCQAAGACAhIAADABAQkAAJiAgAQAAExAQAIAACYgIAEAABMQkAAAgAkISAAAwAQEJAAAYAIC
EgAAMAEBCQAAmICABAAATEBAAgAAJiAgAQAAExCQAACACf8fblhnwyo5nXgAAAAASUVORK5CYII=
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[6]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-matlab"><pre><span></span><span class="c">% 2-D hat basis</span>
<span class="n">clf</span><span class="p">;</span> 
<span class="p">[</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">]</span> <span class="p">=</span> <span class="n">squaremesh</span><span class="p">([</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">],</span><span class="mf">0.5</span><span class="p">);</span>
<span class="n">phi</span> <span class="p">=</span> <span class="nb">zeros</span><span class="p">(</span><span class="nb">size</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="mi">1</span><span class="p">);</span>
<span class="n">phi</span><span class="p">(</span><span class="mi">12</span><span class="p">)</span> <span class="p">=</span> <span class="mi">1</span><span class="p">;</span>
<span class="n">subplot</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">1</span><span class="p">);</span>
<span class="n">showmesh</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">,</span><span class="s">&#39;facecolor&#39;</span><span class="p">,</span><span class="s">&#39;none&#39;</span><span class="p">);</span> <span class="n">hold</span> <span class="n">on</span><span class="p">;</span>
<span class="n">showsolution</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">,</span><span class="n">phi</span><span class="p">,[</span><span class="mi">30</span><span class="p">,</span><span class="mi">26</span><span class="p">],</span><span class="s">&#39;facecolor&#39;</span><span class="p">,</span><span class="s">&#39;g&#39;</span><span class="p">,</span><span class="s">&#39;facealpha&#39;</span><span class="p">,</span><span class="mf">0.5</span><span class="p">,</span><span class="s">&#39;edgecolor&#39;</span><span class="p">,</span><span class="s">&#39;k&#39;</span><span class="p">);</span>
<span class="n">u</span> <span class="p">=</span> <span class="mi">3</span><span class="o">-</span><span class="n">node</span><span class="p">(:,</span><span class="mi">1</span><span class="p">)</span><span class="o">.^</span><span class="mi">2</span> <span class="o">-</span> <span class="n">node</span><span class="p">(:,</span><span class="mi">2</span><span class="p">)</span><span class="o">.^</span><span class="mi">2</span><span class="p">;</span> <span class="c">% x^2 + y^2</span>
<span class="c">% u = sin(node(:,1)).*cos(node(:,2));</span>
<span class="n">subplot</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">);</span>
<span class="n">showmesh</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">);</span> <span class="n">hold</span> <span class="n">on</span><span class="p">;</span>
<span class="n">showsolution</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">,</span><span class="n">u</span><span class="p">,[</span><span class="mi">30</span><span class="p">,</span><span class="mi">26</span><span class="p">],</span><span class="s">&#39;facecolor&#39;</span><span class="p">,</span><span class="s">&#39;g&#39;</span><span class="p">,</span><span class="s">&#39;facealpha&#39;</span><span class="p">,</span><span class="mf">0.5</span><span class="p">,</span><span class="s">&#39;edgecolor&#39;</span><span class="p">,</span><span class="s">&#39;k&#39;</span><span class="p">);</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
B3RJTUUH4gkHFSsYeG5ORQAAACR0RVh0U29mdHdhcmUATUFUTEFCLCBUaGUgTWF0aFdvcmtzLCBJ
bmMuPFjdGAAAACJ0RVh0Q3JlYXRpb24gVGltZQAwNy1TZXAtMjAxOCAxNDo0MzoyNMJBO+8AACAA
SURBVHic7d1Nkus6cobhpMNTb8CT6m14pLOn6znFBfSepFFvw5pcL8ALkAdgQSAIgCAIUEnyfaKj
o65Kf6Uj8VMCSaB7v98CAMC3/du3nwAAACIEEgBACQIJAKACgQQAUIFAAgCoQCABAFQgkAAAKhBI
AAAVCCQAgAoEEgBABQIJAKACgQQAUIFAAgCoQCABAFQgkAAAKhBIAAAVCCQAgAoEEgBABQIJAKAC
gQQAUIFAAgCoQCABAFQgkAAAKhBIAAAVCCQAgAoEEgBABQIJAKACgQQAUIFAAgCoQCABAFQgkAAA
KhBIAAAVCCQAgAoEEgBABQIJAKACgQQAUIFAAgCoQCABAFQgkAAAKhBIAAAVCCQAgAoEEgBABQIJ
AKACgQQAUIFAAgCoQCABAFQgkAAAKhBIAAAVCCQAgAoEEgBABQIJAKACgQQAUIFAAgCoQCABAFQg
kAAAKhBIAAAVCCQAgAoEEgBABQIJAKACgQQAUIFAAgCoQCABAFQgkAAAKhBIAAAVCCQAgAoEEgBA
BQIJAKACgQQAUIFAAgCoQCABAFQgkAAAKhBIAAAVCCQAgAoEEgBABQIJAKACgQQAUIFAAgCoQCAB
AFQgkAAAKhBIAAAVCCQAgAoEEgBABQIJAKACgQQAUIFAAgCoQCABAFQgkAAAKhBIAAAVCCQAgAoE
EgBABQIJAKACgQQAUIFAAgCoQCABAFQgkAAAKhBIAAAVCCQAgAoEEgBABQIJAKACgQQAUIFAAgCo
QCABAFQgkAAAKhBIAAAVCCQAgAoEEgBABQIJAKACgQQAUIFAAgCoQCABAFQgkAAAKhBIAAAV/v3b
TwAANum6Lvar9/u95zPBRlRIAI6ns4bu9r6ZC90fzP+6oZv73rPGgo5vEAAOwc0Smz3P7rl4iev5
fMpD5D7+JwdAVQgkAKrZHJoHzLN7mgvtD+6vxp/u4bu99Td7NQ6DSjCHBECdTzF0Dxc6YrLkIc/h
KXeRuzyHp/vb2/tmUmpMprvIbwhN3MeHI5M04J8BgAqTEJomxzjO5rqPV5vXRuNNBieHfmMpfU0O
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
82DDcr4AAAAASUVORK5CYII=
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Linear-Algebraic-System">Linear Algebraic System<a class="anchor-link" href="#Linear-Algebraic-System">&#182;</a></h2><p>For any function $v\in V_{h}$, there is a unique representation: $v=\sum _{i=1}^Nv_i\phi _i$.  We thus can define an isomorphism $V_{h}\cong \mathbb R^N$ by</p>
$$
v=\sum _{i=1}^Nv_i\phi _i \longleftrightarrow \boldsymbol  v=(v_1, \cdots, v_N)^{\intercal},
$$<p>and call $\boldsymbol  v$ the coordinate vector of $v$ relative to the basis $\{\phi _i\}_{i=1}^{N}$. Following the terminology in elasticity, we introduce the <em>stiffness matrix</em></p>
$$
\boldsymbol  A=(a_{ij})_{N\times N}, \, \text{ with } \quad a_{ij}=a(\phi _j,\phi _i),
$$<p>and the load vector $\boldsymbol  f=\{\langle f, \phi_k \rangle\}_{k=1}^{N}\in \mathbb{R}^{N}$. Then the coefficient vector can be obtained by solving the following linear algebraic system</p>
$$
\boldsymbol  A\boldsymbol  u = \boldsymbol  f.
$$<p>It is straightforward to verify $\boldsymbol  A$ is a symmetric and positive definite (SPD) matrix and thus the solution $\boldsymbol  u$ exists and unique.</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Further-reading">Further reading<a class="anchor-link" href="#Further-reading">&#182;</a></h2><ul>
<li><p>Error estimate of the linear finite element method can be found in <a href="http://www.math.uci.edu/~chenlong/226/Ch2FEM.pdf">Introduction to Finite Element Methods</a></p>
</li>
<li><p>Assembling the matrix $\boldsymbol A$ and the vector $\boldsymbol f$ can be found in <a href="http://www.math.uci.edu/~chenlong/226/Ch3FEMCode.pdf">Progamming of Finite Element Methods</a></p>
</li>
<li><p>Fast solvers for solving the linear algebraic equation can be found in <a href="https://www.math.uci.edu/~chenlong/226/MGintroduction.pdf">Multigrid Methods</a></p>
</li>
</ul>

</div>
</div>
</div>
    </div>
  </div>
</body>

 


</html>
